オブジェクト:プロパティ
シンボル:
キーワード: PROPERTY
プロパティは、IEC 61131-3標準の拡張であり、オブジェクト指向プログラミング用のツールです。
プロパティは、データへの外部アクセスを可能にし、同時にフィルターとして機能するため、データのカプセル化に使用されます。この目的のために、プロパティはアクセサメソッドを提供します Get
と Set
これにより、プロパティの下にあるインスタンスのデータへの読み取りおよび書き込みアクセスが可能になります。
プログラム、関数ブロック、またはグローバル変数リストの下にアクセサメソッドを使用してプロパティを追加できます。クリック プロパティを追加 ダイアログ。
開くにはヒント
あなたは追加することができます インターフェイスプロパティ インターフェイスの下。
POUの下に挿入されたプロパティをコピーしてインターフェイスの下に追加するか、プロパティをそこに移動すると、含まれている実装が自動的に削除されます。
ダイアログ:プロパティの追加
関数:ダイアログを閉じたときに、選択したPOUの下に新しいプロパティを作成します。
電話: ;コンテキストメニュー
要件: プログラム (PRG
)、機能ブロック(FUNCTION_BLOCK
)、またはグローバル変数リスト(GVL
)が選択されている POU ビューまたは デバイス 見る。
名前 | プロパティの名前(識別子) 例: |
リターンタイプ | 戻り値のデフォルトタイプまたは構造化タイプ 例: |
実装言語 | 例: 構造化テキスト(ST) |
アクセス指定子 | データへのアクセスを制御します |
公衆 または不特定 | アクセスは制限されていません。 |
プライベート | アクセスは、プログラム、機能ブロック、またはGVLに制限されています。 オブジェクトはとしてマークされます |
保護 | アクセスは、プログラム、機能ブロック、またはその派生物を含むGVLに制限されます。 オブジェクトはとしてマークされます |
内部 | アクセスは名前空間(ライブラリ)に制限されています。 オブジェクトはとしてマークされます |
概要 |
|
追加 | 選択したオブジェクトの下に、アクセサメソッドの下に新しいプロパティを追加します 注:プロパティを選択するときに、クリックして以前に削除したアクセサーを明示的に追加することもできます オブジェクトの追加。 |
編集者:プロパティ
エディターでデータアクセスをプログラムできます。コードには、追加のローカル変数を含めることができます。ただし、追加の入力変数または(関数やメソッドではなく)出力変数を含めることはできません。

機能ブロックFB_A
FUNCTION_BLOCK FB_A VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR iA : INT; END_VAR iA := iA + 1;
財産 prop_iA
PROPERTY PUBLIC prop_iA : INT
アクセサメソッドFB_A.prop_iA.Get
prop_iA := iA;
アクセサメソッドFB_A.prop_iA.Set
iA := prop_iA;
PROGRAM PLC_PRG VAR fbA : FB_A; iVar: INT; END_VAR fbA(); IF fbA.prop_iA > 500 THEN fbA.prop_iA := 0; END_IF iVar := fbA.prop_iA;
アクセサの取得と設定
の呼び出し Set
アクセサはプロパティに書き込まれます。その後、入力パラメータと同じように使用されます。 Getアクセサーが呼び出されると、プロパティが読み取られます。出力パラメータと同じように使用されます。いずれの場合も、アクセス修飾子(修飾子)によってアクセスが制限されます。その結果、オブジェクトはそれに応じて識別されます。
プロパティが読み取り専用または書き込み専用としてアクセスされる場合、不要なアクセサーを削除できます。
プロパティを選択してクリックすると、アクセサを明示的に追加できます オブジェクトの追加。ダイアログが開きます。 Getアクセサーを追加 また セットアクセサーを追加。そこで、実装言語とアクセスを設定できます。
実装言語 | 例: 構造化テキスト(ST) |
アクセス指定子 | 宣言部分の修飾子 |
| アクセスは制限されていません。 |
| アクセスは、プログラム、機能ブロック、またはGVLに制限されています。 オブジェクトはとしてマークされます |
| プロパティへのアクセスは、プログラム、機能ブロック、またはGVLとその派生物に制限されています。宣言にはキーワードが含まれています。 オブジェクトはとしてマークされます |
| メソッドへのアクセスは、名前空間(ライブラリ)に制限されています。 オブジェクトはとしてマークされます |
追加 | アクセサメソッドを追加します |
オンラインモードでのプロパティの監視
以下 プラグマ オンラインモードでプロパティを監視するために提供されています。それらをプロパティ定義の一番上の位置に挿入します。
{attribute 'monitoring' := 'variable'}
プロパティにアクセスするたびに、 CODESYS 実際の値を変数に保存し、この変数の値を表示します。コード内でプロパティへのアクセスが行われなくなると、この値は古くなる可能性があります。
{attribute 'monitoring' := 'call'}
毎回 値が表示され、 CODESYS のコードを呼び出します
Get
アクセサー。このコードに副作用が含まれている場合、モニタリングは副作用を実行します。
インラインモニタリング
要件: インラインモニタリングを有効にする オプションが選択されている テキストエディタ のカテゴリ オプション ダイアログ。
ウォッチリスト
継承POUを生成する際の入力サポート
オブジェクト指向プログラミングを行い、継承を使用する場合(EXTENDS
キーワード)POUの場合、次のようにサポートを受けることができます。
ベースPOUから派生したPOUの下にアクション、プロパティ、メソッド、またはトランジションを挿入すると、 追加 … ダイアログが開きます。次に、名前の入力フィールドがリストボックスに拡張されます。リストボックスには、ベースPOUで使用可能なアクション、プロパティ、メソッド、またはトランジションからの有効な選択が含まれています。これで、たとえば、ベースPOUのメソッドを簡単に受け入れて、それをPOUの派生関数に適合させることができます。
アクセス修飾子を使用したメソッドとプロパティ PRIVATE
それらも継承されないため、ここにはリストされていません。アクセス修飾子を使用したメソッドとプロパティ PUBLIC
派生したPOUに受け入れると、自動的に空白のアクセス修飾子フィールドを取得します。これは、機能的には同じことを意味します。
詳細については、以下を参照してください。 財産、 方法、 遷移、 アクション、
